﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Windows;


namespace WIN_UML_Editor
{
    public static class UMLCommands
    {
        private static RoutedUICommand addActivity;
        private static RoutedUICommand addDecision;
        private static RoutedUICommand addInitialState;
        private static RoutedUICommand addFinalState;
        private static RoutedUICommand addArrow;
        private static RoutedUICommand deleteElement;
        private static RoutedUICommand undo;
        private static RoutedUICommand redo;
        private static RoutedUICommand help;
        private static RoutedUICommand about;
        private static RoutedUICommand exit;
       
        static UMLCommands()
        {
            addInitialState = new RoutedUICommand(
                "Add initial state",
                "AddInitialState",
                typeof(UMLCommands));

            addFinalState = new RoutedUICommand(
                "Add final state",
                "AddFinalState",
                typeof(UMLCommands));
            
            addActivity = new RoutedUICommand(
                "Add activity",
                "AddActivity",
                typeof(UMLCommands));
            
            undo = new RoutedUICommand(
                "Undo last command",
                "Undo",
                typeof(UMLCommands));

            redo = new RoutedUICommand(
                "Redo last command",
                "Redo",
                typeof(UMLCommands));        

            addDecision = new RoutedUICommand(
                "Add decision",
                "AddDecision",
                typeof(UMLCommands));

            addArrow = new RoutedUICommand(
                "Add arrow",
                "AddArrow",
                typeof(UMLCommands));
            
            deleteElement = new RoutedUICommand(
                "Delete element",
                "DeleteElement",
                typeof(UMLCommands));

            help = new RoutedUICommand(
                "Help Window",
                "HELP",
            typeof(UMLCommands));

            about = new RoutedUICommand(
            "About Window",
            "About",
            typeof(UMLCommands)); 

            exit = new RoutedUICommand(
            "Exit Application",
            "Exit",
            typeof(UMLCommands)); 
        }

        public static RoutedUICommand AddInitialState
        {
            get { return addInitialState; }
        }

        public static RoutedUICommand AddActivity
        {
            get { return addActivity; }
        }

        public static RoutedUICommand Undo
        {
            get { return undo; }
        }

        public static RoutedUICommand Redo
        {
            get { return redo; }
        }

        public static RoutedUICommand AddDecision
        {
            get { return addDecision; }
        }

        public static RoutedUICommand AddArrow
        {
            get { return addArrow; }
        }

        public static RoutedUICommand DeleteElement
        {
            get { return deleteElement; }
       
        }

        public static RoutedUICommand AddFinalState
        {
            get { return addFinalState; }
        }

        public static RoutedUICommand HELP
        {
            get { return help; }
        }

        public static RoutedUICommand About
        {
            get { return about; }
        }

        public static RoutedUICommand Exit
        {
            get { return exit; }
        }
    }
}
